package com.zxl.security;

import com.zxl.pojo.User;
import com.zxl.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.social.connect.Connection;
import org.springframework.social.connect.ConnectionSignUp;
import org.springframework.stereotype.Component;

/**
 * 用于处理我们用户在登录授权成功后，
 * 自动在数据库中插入用户数据，不需要用户进行注册信息的处理
 */
@Component
public class MyConnectionSignUp implements ConnectionSignUp {
    @Autowired
    private UserService userService;

    @Override
    public String execute(Connection<?> connection) {
        // 根据社交用户信息默认创建用户信息，并返回用户的唯一标识
        User user = new User();
        user.setUsername(connection.getDisplayName());
        user.setHeadImg(connection.getImageUrl());
        String userId = userService.addUser(user);
        return userId;
    }
}
